package Archivos;

import java.io.File;

import javax.swing.JButton;
import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

/*
 * esta clase es la encargada de poder generar un JFileChooser con el fin de poder esocger un archivo de texto desde
 * donde sea y poder obtener su ruta...
 */
public class ObtieneArchivo {

	File ruta =null;//nos permite almacenar el archivo que contiene la imagen, partera en null dado a que se puede dar a que el usuario no agregue ninguna imagen
	
	/**
	 * @Definicion
	 * Este metodo es el encargado de poder obtener la ruta del archivo y retornarla para su posterior uso
	 * para ello recibe como entrada al boton que posee el action listener que ejecuta dicha accion y el frame contenedor por
	 * motivos de los cuadros de dialogos
	 * @param boton
	 * @return direccion
	 */
    public String carga(JButton boton){
    	
    	JFileChooser elegir = new JFileChooser();//instanciamos a JFileChooser
    	elegir.setDialogTitle("Carga de Instrucciones");//modificamos el titul de la ventana
    	int opcion = elegir.showOpenDialog(boton);//obtenemos la opcion del usuario, este metodo nos retorna un numero por eso se almacena en un int
       
    	String direccion;//nos permitira poder almacenar la ruta
        
    	//Si presionamos el boton ABRIR en el JFileChooser podremos obtener la direccion del archivo...
        if (opcion == JFileChooser.APPROVE_OPTION){ //preguntamos si presiona la opcion de aprobacion
        
        	ruta = elegir.getSelectedFile();//en este caso si la presiona el archivo ruta pasa a ser el archivo seleccionado 
         	
        }else//en caso contrario...
        	
        	JOptionPane.showMessageDialog(null, "Error al cargar el archivo");//se hace saber al usuario que no ha cargado el archivo....
     
        //manejo de excepciones para el caso en que el compadre no ingrese un archivo valido...
        try {
        	
        	direccion = ruta.getPath();//obtenemos la ruta del archivo seleccionado...
        	
        }catch (Exception e){
        	
        	direccion = null;//dejamos la direccion null debido a que ella es la que se retorna...
        }
        
        return direccion;//finalmente retornamos la direccion obtenida...
    }
}